Referer Header
request header
今reqeustが送られてきているページの直前のページのアドレスを含める
userがそのpageにどこから流入してきたのか分析できる
mdn
RFC7232 5.5.2
例
Aページ内にある、Bページのリンクを踏んだとき
code:request
Referer: https://hogehoge.com/a
typoについて
本来は、
x referer
o referrer
だが、仕様がtypoしているので、refererが正しいらしい
https://ja.wikipedia.org/wiki/HTTPリファラ#綴り
だるすぎるmrsekut.icon*2
#WIP
GETの場合のみ付くのか #??
どこに書いてるんだこれ
POSTだとつかないから、POSTを使うべき、みたいな
機密情報を送信する時はPOSTを使うべき
セキュリティリスク
/mrsekut-book-4797393165/233 (4.6.3 URL埋め込みのセッションID)
URLにsession Idが含まれている場合、referer経由で漏洩する
referer関係なく危険そうな気がするけどmrsekut.icon
自サイトSのページの中に、SNSのリンクがあるとき
SNSのserverは、Refererを見ればSのアドレスを取得できる
このアドレスに何かしらの情報が含まれている場合は、それが漏洩する
自サイトSのページの中に、画像を埋め込んでいる時
画像を読み込むrequestのRefererにSを読み込むアドレスが乗る
画像を配信するserverはそのアドレスを取得できる
対策
Referrer-Policyを使う
セキュリティ有効になる時
Refererを常にチェックしている時
変なページからリンクされてきてないかをチェックできる
意図したページ遷移をしているかをチェックできる
Refererの内容は書き換え可能なので常に正しいデータであるとは限らないので完璧ではない
ブラウザに依ってはrefererを送信しないものもある
仮に、「このリンクから来た場合にしか、これを返さない」といった実装をしている時、特定のユーザーは普通に使っているのに、使えなくなることがある
/mrsekut-book-4797393165/076
制御する
https://qiita.com/wakaba@github/items/707d72f97f2862cd8000
aタグのrel=noreferrerとか